//
//  Wait.swift
//  ExRequest
//
//  Created by 王渊鸥 on 2018/8/10.
//  Copyright © 2018 WangYuanOu. All rights reserved.
//

import Foundation

private var g_default_semaphore = DispatchSemaphore(value: 0)

public func ex_wait() {
    g_default_semaphore.wait()
}

public func ex_singal() {
    g_default_semaphore.signal()
}

private var g_semaphore_list:[DispatchSemaphore] = [DispatchSemaphore(value: 0),
                                                    DispatchSemaphore(value: 0),
                                                    DispatchSemaphore(value: 0),
                                                    DispatchSemaphore(value: 0),
                                                    DispatchSemaphore(value: 0)]

public func ex_wait(queue:Int) {
    if queue > 4 {
        return
    }
    
    g_semaphore_list[queue].wait()
}

public func ex_signal(queue:Int) {
    if queue > 4 {
        return
    }
    
    g_semaphore_list[queue].signal()
}
